﻿using System.Drawing;
using System.Threading.Tasks;
using CloudShot.Core.Types;

namespace CloudShot.Core.Interfaces
{
  /// <summary>
  /// Exposes the image storage.
  /// </summary>
  public interface IImageStorage
  {
    Image Logo { get; }

    string Name { get; }

    string Description { get; }

    ImageSaveFormat CurrentImageFormat { get; }

    ISettingsControl SettingsControl { get; }

    void Init(IConfigurationSection configuration);

    Task<string> SaveImage(byte[] data, string name, bool isVideo);
  }
}